package com.swanclouds.api.chassis;

import com.swanclouds.common.RestService;
import com.swanclouds.model.common.ActionResponse;
import com.swanclouds.model.common.redfish.CollectionResource;
import com.swanclouds.redfish.chassis.domain.DrivesModel;
import com.swanclouds.redfish.common.redfish.IndicatorLED;

import java.util.List;

/**
 * Author: HuangFuYuHui
 * Title: DrivesService
 * Description: TODO
 * Date: 2022/7/19 15:33
 */
public interface DrivesService extends RestService {

    /**
     * 查询硬盘集合资源信息
     * @return  CollectionResource
     **/
    CollectionResource get();

    /**
     * 查询指定服务器硬盘集合资源信息
     * @param driveId 服务器硬盘Id
     * @return com.swanclouds.model.chassis.Drives
     **/
    DrivesModel getDrive(String driveId);

    /**
     * 修改服务器指定驱动器的属性。
     * @param indicatorLED indicatorLED属性
     * @param driverId 驱动器Id
     * @return com.swanclouds.model.common.ActionResponse
     **/
    ActionResponse updateDriveAttribute(IndicatorLED indicatorLED, String driverId);

    /**
     * 查询服务器硬盘集合资源信息
     * @return java.util.List
     **/
    List<DrivesModel> list();

}
